package com.valuegroup.smarttodo.ui.todo.task.qucikadd;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.EditText;

/**
 * 自定义文本输入框
 * <p>
 * 此处添加 @SuppressLint("AppCompatCustomView") 注解
 * 否则会显示一个警告让EditText 转成 AppCompatEditText
 * 但是当activity中使用了 android:style/Theme.Dialog 样式时
 * 会造成文本框出现异常(无法输入中文,点返回效果达不到理想效果)
 */
@SuppressLint("AppCompatCustomView")
public class QucikAddEditText extends EditText {
    public QucikAddEditText(Context context) {
        super(context);
    }

    public QucikAddEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public QucikAddEditText(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean dispatchKeyEventPreIme(KeyEvent event) {
        if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            ((Activity) this.getContext()).onKeyDown(KeyEvent.KEYCODE_BACK, event);
            /*或者粗鲁一点，直接在调用finish()关闭activity(推荐第1种方式，由activity的onKeyDown统一处理）:*/
            ((Activity) this.getContext()).finish();
            return true;
        } else {
            return super.dispatchKeyEventPreIme(event);
        }
    }
}
